package com.scm.entity;

/**
 * @author CHL
 * @ClassName: Product
 * @Description: TODO
 * @date 2022/3/8 15:09
 * @Version 1.0
 */
public class Product
{
    private String productCode;
    private Integer categoryId;
    private String name;
    private String unitName;
    private Double price;
    private String createDate;
    private String remark;
    private Integer num;
    private Integer poNum;
    private Integer soNum;
    private String categoryName;

    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }

    public void setCategoryId(Integer categoryId)
    {
        this.categoryId = categoryId;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public void setUnitName(String unitName)
    {
        this.unitName = unitName;
    }

    public void setPrice(Double price)
    {
        this.price = price;
    }

    public void setCreateDate(String createDate)
    {
        this.createDate = createDate;
    }

    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public void setNum(Integer num)
    {
        this.num = num;
    }

    public void setPoNum(Integer poNum)
    {
        this.poNum = poNum;
    }

    public void setSoNum(Integer soNum)
    {
        this.soNum = soNum;
    }

    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public boolean equals(Object o)
    {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Product)) {
            return false;
        }
        Product other = (Product)o;
        if (!other.canEqual(this)) {
            return false;
        }
        Object this$categoryId = getCategoryId();Object other$categoryId = other.getCategoryId();
        if (this$categoryId == null ? other$categoryId != null : !this$categoryId.equals(other$categoryId)) {
            return false;
        }
        Object this$price = getPrice();Object other$price = other.getPrice();
        if (this$price == null ? other$price != null : !this$price.equals(other$price)) {
            return false;
        }
        Object this$num = getNum();Object other$num = other.getNum();
        if (this$num == null ? other$num != null : !this$num.equals(other$num)) {
            return false;
        }
        Object this$poNum = getPoNum();Object other$poNum = other.getPoNum();
        if (this$poNum == null ? other$poNum != null : !this$poNum.equals(other$poNum)) {
            return false;
        }
        Object this$soNum = getSoNum();Object other$soNum = other.getSoNum();
        if (this$soNum == null ? other$soNum != null : !this$soNum.equals(other$soNum)) {
            return false;
        }
        Object this$productCode = getProductCode();Object other$productCode = other.getProductCode();
        if (this$productCode == null ? other$productCode != null : !this$productCode.equals(other$productCode)) {
            return false;
        }
        Object this$name = getName();Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
            return false;
        }
        Object this$unitName = getUnitName();Object other$unitName = other.getUnitName();
        if (this$unitName == null ? other$unitName != null : !this$unitName.equals(other$unitName)) {
            return false;
        }
        Object this$createDate = getCreateDate();Object other$createDate = other.getCreateDate();
        if (this$createDate == null ? other$createDate != null : !this$createDate.equals(other$createDate)) {
            return false;
        }
        Object this$remark = getRemark();Object other$remark = other.getRemark();
        if (this$remark == null ? other$remark != null : !this$remark.equals(other$remark)) {
            return false;
        }
        Object this$categoryName = getCategoryName();Object other$categoryName = other.getCategoryName();return this$categoryName == null ? other$categoryName == null : this$categoryName.equals(other$categoryName);
    }

    protected boolean canEqual(Object other)
    {
        return other instanceof Product;
    }

    public int hashCode()
    {
        int PRIME = 59;int result = 1;Object $categoryId = getCategoryId();result = result * 59 + ($categoryId == null ? 43 : $categoryId.hashCode());Object $price = getPrice();result = result * 59 + ($price == null ? 43 : $price.hashCode());Object $num = getNum();result = result * 59 + ($num == null ? 43 : $num.hashCode());Object $poNum = getPoNum();result = result * 59 + ($poNum == null ? 43 : $poNum.hashCode());Object $soNum = getSoNum();result = result * 59 + ($soNum == null ? 43 : $soNum.hashCode());Object $productCode = getProductCode();result = result * 59 + ($productCode == null ? 43 : $productCode.hashCode());Object $name = getName();result = result * 59 + ($name == null ? 43 : $name.hashCode());Object $unitName = getUnitName();result = result * 59 + ($unitName == null ? 43 : $unitName.hashCode());Object $createDate = getCreateDate();result = result * 59 + ($createDate == null ? 43 : $createDate.hashCode());Object $remark = getRemark();result = result * 59 + ($remark == null ? 43 : $remark.hashCode());Object $categoryName = getCategoryName();result = result * 59 + ($categoryName == null ? 43 : $categoryName.hashCode());return result;
    }

    public String toString()
    {
        return "Product(productCode=" + getProductCode() + ", categoryId=" + getCategoryId() + ", name=" + getName() + ", unitName=" + getUnitName() + ", price=" + getPrice() + ", createDate=" + getCreateDate() + ", remark=" + getRemark() + ", num=" + getNum() + ", poNum=" + getPoNum() + ", soNum=" + getSoNum() + ", categoryName=" + getCategoryName() + ")";
    }

    public String getProductCode()
    {
        return this.productCode;
    }

    public Integer getCategoryId()
    {
        return this.categoryId;
    }

    public String getName()
    {
        return this.name;
    }

    public String getUnitName()
    {
        return this.unitName;
    }

    public Double getPrice()
    {
        return this.price;
    }

    public String getCreateDate()
    {
        return this.createDate;
    }

    public String getRemark()
    {
        return this.remark;
    }

    public Integer getNum()
    {
        return this.num;
    }

    public Integer getPoNum()
    {
        return this.poNum;
    }

    public Integer getSoNum()
    {
        return this.soNum;
    }

    public String getCategoryName()
    {
        return this.categoryName;
    }
}

